---
title: React Native feature flag services
sidebar_title: Using feature flags
description: An overview of feature flag services available in the Expo and React Native ecosystem.
---

import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';

import { BoxLink } from '~/ui/components/BoxLink';

A feature flag (also known as a _feature gate_) is a mechanism that enables and disables features remotely. They are a safe way to rollout new features to your app users without deploying additional code. You can use them for testing in production, A/B testing, or to ship new app features such as UI elements.

## Feature flag services

The following libraries provide robust support for feature flag functionality and out-of-the-box compatibility with Expo apps using [Continuous Native Generation (CNG)](/workflow/continuous-native-generation/) and [config plugins](/config-plugins/introduction/) for seamless integration in your app.

### Posthog

[PostHog](https://posthog.com/) is an open-source product analytics platform that provides comprehensive feature flagging capabilities alongside analytics, session recordings, and A/B testing. It supports real-time feature toggles with user segmentation and the ability to roll back features instantly, making it an excellent choice for teams that want analytics and feature management in a single platform. It includes built-in A/B testing and multivariate testing functionality, allowing you to run experiments directly through feature flags while collecting detailed analytics on feature adoption and performance metrics. The service also supports bootstrap flags to eliminate loading states and improve user experience.

<BoxLink
  title="PostHog React Native library"
  description="Learn how to integrate PostHog feature flags in your React Native and Expo projects."
  href="https://posthog.com/docs/libraries/react-native#feature-flags"
  Icon={BookOpen02Icon}
/>

<BoxLink
  title="PostHog feature flags tutorial"
  description="Follow this step-by-step guide to implement feature flags with PostHog."
  href="https://posthog.com/tutorials/react-native-analytics"
  Icon={BookOpen02Icon}
/>

### Statsig

[Statsig](https://statsig.com/) is a feature management platform designed for data-driven product development that provides advanced statistical analysis, gradual rollouts, and sophisticated targeting capabilities with built-in metrics and performance monitoring for feature releases. The platform offers a robust SDK for React Native and Expo, with automatic event logging and dynamic configurations, making it particularly well-suited for teams focused on rigorous experimentation and data-driven decision-making.

<BoxLink
  title="Statsig Expo integration"
  description="Learn how to integrate StatSig feature flags and experiments in your Expo project."
  href="https://docs.statsig.com/client/javascript-sdk/expo/#basics-check-gate"
  Icon={BookOpen02Icon}
/>

### LaunchDarkly

[LaunchDarkly](https://launchdarkly.com/) is an enterprise-grade feature management platform that enables instant feature toggles and targeted rollouts with comprehensive dashboard controls, advanced user targeting, and robust experimentation tools that provide real-time flag updates. The SDK includes advanced features such as hooks for React integration, context identification and modification, comprehensive logging, support for multiple environments in development workflows, private attributes for handling sensitive data, and relay proxy configuration for enhanced security and performance.

<BoxLink
  title="LaunchDarkly React Native SDK"
  description="Follow this guide to integrate LaunchDarkly feature flags in your React Native and Expo projects."
  href="https://launchdarkly.com/docs/sdk/client-side/react/react-native"
  Icon={BookOpen02Icon}
/>

### Firebase Remote Config

[Firebase Remote Config](https://firebase.google.com/docs/remote-config) is a cloud service allows you to change the appearance and functionality of your app without requiring an app update. Remote Config values are managed through the Firebase console and accessed via a JavaScript API, which gives you full control over when and how these values affect your app. The service supports conditional targeting based on user properties, app versions, custom attributes and real-time updates.

<BoxLink
  title="React Native Firebase Remote Config"
  description="Learn how to integrate Firebase Remote Config from React Native Firebase library in your React Native and Expo projects."
  href="https://rnfirebase.io/remote-config/usage"
  Icon={BookOpen02Icon}
/>
